home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / misc / libx11inc.lha / X11 / Xm / FileSBP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-13  |  6.1 KB  |  163 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
  3.  * ALL RIGHTS RESERVED
  4. */ 
  5. /*   $RCSfile: FileSBP.h,v $ $Revision: 1.15 $ $Date: 92/05/14 12:51:44 $ */
  6. /*
  7. *  (c) Copyright 1989, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  8. /*
  9. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  10. #ifndef _XmFSelectP_h
  11. #define _XmFSelectP_h
  12.  
  13. #include <Xm/SelectioBP.h>
  14. #include <Xm/FileSB.h>
  15.  
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19.  
  20. /* Defines for use in allocation geometry matrix. */
  21.  
  22. #define XmFSB_MAX_WIDGETS_VERT   10 
  23.  
  24. /* Bit locations for the state_flags bit field.
  25. */
  26. #define XmFS_NO_MATCH        (1 << 0)
  27. #define XmFS_IN_FILE_SEARCH    (1 << 1)
  28. #define XmFS_DIR_SEARCH_PROC    (1 << 2)
  29.  
  30. /*  New fields for the FileSelectionBox widget class record  */
  31.  
  32. typedef struct
  33. {
  34.     XtPointer           extension;      /* Pointer to extension record */
  35. } XmFileSelectionBoxClassPart;
  36.  
  37.  
  38. /* Full class record declaration */
  39.  
  40. typedef struct _XmFileSelectionBoxClassRec
  41. {
  42.    CoreClassPart       core_class;
  43.    CompositeClassPart  composite_class;
  44.    ConstraintClassPart constraint_class;
  45.    XmManagerClassPart  manager_class;
  46.    XmBulletinBoardClassPart    bulletin_board_class;
  47.    XmSelectionBoxClassPart    selection_box_class;
  48.    XmFileSelectionBoxClassPart    file_selection_box_class;
  49. } XmFileSelectionBoxClassRec;
  50.  
  51. externalref XmFileSelectionBoxClassRec xmFileSelectionBoxClassRec;
  52.  
  53.  
  54. /* New fields for the FileSelectionBox widget record */
  55.  
  56. typedef struct
  57. {
  58.     XmString        directory;        /* directory specification */
  59.     XmString        pattern;          /* file search pattern */
  60.     Widget          dir_list_label;   /* directory list Label */
  61.     XmString        dir_list_label_string;/* directory list label text */
  62.     Widget          dir_list;         /* directory List */
  63.     XmString *      dir_list_items;   /* items in directory List */
  64.     int             dir_list_item_count;/* number of items in directory List */
  65.     int             dir_list_selected_item_position;
  66.     Widget          filter_label;     /* file search filter label */
  67.     XmString        filter_label_string;/* filter label text */
  68.     Widget          filter_text;      /* filter text entry field */
  69.     XmString        dir_mask;         /* string in filter text entry field */
  70.     XmString        no_match_string;  /* string in list when no file match */
  71.     XmQualifyProc   qualify_search_data_proc; /* directory and mask routine */
  72.     XmSearchProc    dir_search_proc;  /* change directory routine */
  73.     XmSearchProc    file_search_proc; /* file search routine */
  74.     unsigned char   file_type_mask;   /* mask for type of files in file list */
  75.     Boolean         list_updated;     /* flag to indicate file list update   */
  76.     Boolean         directory_valid ; /* flag to indicate valid new directory*/
  77.     unsigned char   state_flags ;     /* internal flags to indicate state.   */
  78.  
  79. } XmFileSelectionBoxPart;
  80.  
  81.  
  82. /****************************************************************
  83.  *
  84.  * Full instance record declaration
  85.  *
  86.  ****************************************************************/
  87.  
  88. typedef struct _XmFileSelectionBoxRec
  89. {
  90.     CorePart                core;
  91.     CompositePart           composite;
  92.     ConstraintPart          constraint;
  93.     XmManagerPart           manager;
  94.     XmBulletinBoardPart     bulletin_board;
  95.     XmSelectionBoxPart      selection_box;
  96.     XmFileSelectionBoxPart  file_selection_box;
  97. } XmFileSelectionBoxRec;
  98.  
  99.  
  100. /* Access macros */
  101.  
  102. #define FS_Directory( w) \
  103.                 (((XmFileSelectionBoxWidget)(w))->file_selection_box.directory)
  104. #define FS_DirMask( w) \
  105.                  (((XmFileSelectionBoxWidget)(w))->file_selection_box.dir_mask)
  106. #define FS_DirListLabel( w) \
  107.            (((XmFileSelectionBoxWidget)(w))->file_selection_box.dir_list_label)
  108. #define FS_DirListLabelString( w) \
  109.     (((XmFileSelectionBoxWidget)(w))->file_selection_box.dir_list_label_string)
  110. #define FS_DirList( w) \
  111.                  (((XmFileSelectionBoxWidget)(w))->file_selection_box.dir_list)
  112. #define FS_DirListItems( w) \
  113.            (((XmFileSelectionBoxWidget)(w))->file_selection_box.dir_list_items)
  114. #define FS_DirListItemCount( w) \
  115.       (((XmFileSelectionBoxWidget)(w))->file_selection_box.dir_list_item_count)
  116. #define FS_FilterLabel( w) \
  117.              (((XmFileSelectionBoxWidget)(w))->file_selection_box.filter_label)
  118. #define FS_FilterLabelString( w) \
  119.       (((XmFileSelectionBoxWidget)(w))->file_selection_box.filter_label_string)
  120. #define FS_FilterText( w) \
  121.               (((XmFileSelectionBoxWidget)(w))->file_selection_box.filter_text)
  122. #define FS_Pattern( w) \
  123.                   (((XmFileSelectionBoxWidget)(w))->file_selection_box.pattern)
  124. #define FS_NoMatchString( w) \
  125.           (((XmFileSelectionBoxWidget)(w))->file_selection_box.no_match_string)
  126. #define FS_QualifySearchDataProc( w) (((XmFileSelectionBoxWidget) \
  127.                              (w))->file_selection_box.qualify_search_data_proc)
  128. #define FS_DirSearchProc( w) \
  129.           (((XmFileSelectionBoxWidget)(w))->file_selection_box.dir_search_proc)
  130. #define FS_FileSearchProc( w) \
  131.          (((XmFileSelectionBoxWidget)(w))->file_selection_box.file_search_proc)
  132. #define FS_RealDefaultButton( w) \
  133.       (((XmFileSelectionBoxWidget)(w))->file_selection_box.real_default_button)
  134. #define FS_FileTypeMask( w) \
  135.            (((XmFileSelectionBoxWidget)(w))->file_selection_box.file_type_mask)
  136. #define FS_ListUpdated( w) \
  137.              (((XmFileSelectionBoxWidget)(w))->file_selection_box.list_updated)
  138. #define FS_DirectoryValid( w) \
  139.           (((XmFileSelectionBoxWidget)(w))->file_selection_box.directory_valid)
  140. #define FS_StateFlags( w) \
  141.               (((XmFileSelectionBoxWidget)(w))->file_selection_box.state_flags)
  142. #define FS_DirListSelectedItemPosition( w) (((XmFileSelectionBoxWidget) w) \
  143.                           ->file_selection_box.dir_list_selected_item_position)
  144.  
  145.  
  146. /********    Private Function Declarations    ********/
  147. #ifdef _NO_PROTO
  148.  
  149.  
  150. #else
  151.  
  152.  
  153. #endif /* _NO_PROTO */
  154. /********    End Private Function Declarations    ********/
  155.  
  156.  
  157. #ifdef __cplusplus
  158. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  159. #endif
  160.  
  161. #endif /* _XmFSelectP_h */
  162. /* DON'T ADD ANYTHING AFTER THIS #endif */
  163.